Flash memories are popular memory storage devices because they store information in the absence of continuous power and are capable of being constructed in a very compact form. Flash memory is typically constructed by fabricating a plurality of floating gate transistors in a silicon substrate. A floating gate transistor is capable of storing electrical charge either on a separate gate electrode, known as a floating gate, or in a dielectric layer underlying a control gate electrode. Generally speaking, data is stored in a non-volatile memory device by the storage of an electrical charge in the floating gate.
A cell is typically programmed by applying a predetermined voltage to the control gate, a second predetermined voltage to the drain, and grounding the source. This causes channel hot electrons to be injected from the drain depletion region into the floating gate. The predetermined voltages that are used during the programming operation are typically higher than the supply voltage (Vcc). When reading a cell, if the cell is programmed, the threshold voltage will be relatively high and the bitline current will be zero or relatively low. If the cell is not programmed or erased, the threshold voltage will be relatively low, the control gate voltage will enhance the channel and the bitline current will be relatively high.
In most types of flash memory devices, at least one charge pump is used to increase a small input voltage into the larger voltages that are used to program the flash memory. As known in the art, these voltages affect the reading and writing of data to and from the flash memory. The voltage is increased by channeling the relatively small input voltage through a series of stages that enhance the signal to an increased voltage value. The more stages a charge pump has, the greater the resulting output voltage. Those skilled in the art would recognize that several charge pump circuit architectures exist and that each design has special characteristics depending on the arrangement and characteristics of the components.
Charge pump-up time directly affects the time needed to write information to a particular cell in a sector of memory. Charge pump-up time refers to the amount of time necessary to convert the small input voltage into the required output voltage necessary to program a given cell or set of cells. Currently, most charge pumps are constructed using several bootstrap capacitors having the same size capacitance at each respective node of the charge pump. A bootstrap capacitor is defined as the capacitor connected to each respective node of the charge pump. Those skilled in the art recognize that to reduce rise time, the capacitance at each successive node can be increased until the application defined speed requirement is met. However, the rise time does not improve significantly with the increase of capacitance and the decrease in rise time eventually reaches a limit that cannot be surpassed.
The charge pump-up time causes problems in conventional memory devices because more than one charge pump is used to generate voltages during the programming operation. During the programming operation, once a state machine receives an instruction set that indicates a programming operation is required in a particular sector, the state machine sends an electrical signal to the charge pumps, thereby causing the selected charge pumps to start charging to a predetermined programming voltage. The cell or cells to be programmed cannot be programmed until the charge pumps reach the predetermined voltage levels required for programming.
In prior flash memory, the state machine does not initiate programming until a predetermined amount of time has passed, thereby allowing the charge pumps to charge up to the predetermined programming voltage level. The predetermined amount of time that the state machine waits until programming at least one cell is based on a worst-case scenario in charge pump-up time. As such, in prior art memory devices, the state machine wastes valuable time waiting for the charge pumps to reach the predetermined programming voltage levels before programming is initiated for at least one cell in the memory sector.
To that end, a need exists for a method and system that saves overhead programming time in a memory device by reducing the waiting period required for the programming voltages to charge to the predetermined voltage level before programming is initiated for at least one cell in the memory device.